using System;

namespace Sedna.Core.Controller
{
	/// <summary>
	/// a base interface for any action result. Any action must return a proper 
	/// (i.e. having non null and non  string.Empty Status) instance of an IActionResult.
	/// The Status value might be used for action chaining. After getting an instance of an
	/// IActionResult an IActionExecutor tries to find another action mapped under the status name,
	/// and executes that action, it is manages to find it. An IActionExecutor stops the current execution chain
	/// if no action can be found.
	/// </summary>
	public interface IActionResult
	{
		/// <summary>
		/// a string status of an operation.
		/// Used for action chaining.
		/// </summary>
		string Status
		{
			get;
		}
	}
}
